﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using DB.Model;

namespace HR_ASP.ViewModel
{
    public class DzialViewModel
    {
        public int ID { get; set; }

        [StringLength(30, ErrorMessage = "Maksymalna ilosc znaków 20.")]
        [Required(ErrorMessage = "Pole jest wymagane")]
        [Display(Name = "Nazwa działu")]
        public string Nazwa { get; set; }
        public bool CzyZaznaczone { get; set; }
        public DateTime? DataU { get; set; }
        public DateTime? DataM { get; set; }

        public IEnumerable<StanowiskoViewModel> Stanowiska { get; set; }
        public DzialViewModel()
        {
        }

        public DzialViewModel(Dzial dzial)
        {
            this.ID = dzial.ID_Dzial;
            this.Nazwa = dzial.Nazwa;
            this.DataU = dzial.DataU;
            this.DataM = dzial.DataM;
            this.Stanowiska = dzial.Dzial_Stan.Select(n => new StanowiskoViewModel(n.Stanowiska)).ToArray();
        }

        public Dzial GetModel(Dzial dzial)
        {

            dzial.ID_Dzial = this.ID;
            dzial.Nazwa = this.Nazwa;
            dzial.DataM = DateTime.Now;
            if (this.ID == 0)
            {
                dzial.DataU = DateTime.Now;
            }

            return dzial;
        }
    }
}